package com.tfjybj.itoo.exam.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import javax.persistence.Column;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * TemplateDetailsModel
 * 模板题型明细表
 *
 * @author 任晓帅
 * @version 2.0.0
 * @since 2.0.0 2018-11-15 19:40:28
 */
@ApiModel(value = "TemplateDetailsModel:模板题型明细表")
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
public class TemplateDetailsModel implements Serializable {

	//region 模板逆向生产来自TemplateDetailsEntity的属性
	/**
	 * id
	 */
	@ApiModelProperty(value = "templateDetails主键")
	@Column(name = "id")
	private String id;
	/**
	 * 模板id
	 */
	@ApiModelProperty(value = "模板id",required = true)
	private String templateId;

	/**
	 * 题型id
	 */
	@ApiModelProperty(value = "题型id",required = true)
	private String questionTypeId;

	/**
	 * 试题分类id
	 */
	@ApiModelProperty(value = "试题分类id",required = true)
	private String questionClassifyId;

	/**
	 * 题型名称
	 */
	@ApiModelProperty(value = "题型名称")
	private String questionName;

	/**
	 * 题型个数
	 */
	@ApiModelProperty(value = "题型个数",required = true, example = "0")
	private Integer questionNumber;

	/**
	 * 题型总分
	 */
	@ApiModelProperty(value = "题型总分",required = true)
	private String questionScore;

	/**
	 * 每题分数
	 */
	@ApiModelProperty(value = "每题分数")
	private String smallQuestionScore;

	/**
	 * 是否必抽题
	 */
	@ApiModelProperty(value = "是否必抽题",required = true, example = "0")
	private Integer isExtract;

	/**
	 * 难度比例
	 */
	@ApiModelProperty(value = "难度比例")
	private String degreeRatio;

	/**
	 * 难度系数（0：简单，1：中等，2：困难，3：随机，4：自定义）
	 */
	@ApiModelProperty(value = "难度系数（0：简单，1：中等，2：困难，3：随机，4：自定义）",required = true, example = "0")
	private Integer degree;

	/**
	 * 选项乱序
	 */
	@ApiModelProperty(value = "选项乱序", example = "0")
	private Integer optionDisorder;

	/**
	 * 漏题给分
	 */
	@ApiModelProperty(value = "漏题给分", example = "0")
	private Integer messingPoints;

	/**
	 * 漏选分数
	 */
	@ApiModelProperty(value = "漏选分数")
	private String messingPointsScore;

	/**
	 * 题型描述
	 */
	@ApiModelProperty(value = "题型描述")
	private String questionTypeDescribe;

	/**
	 * 是否按空
	 */
	@ApiModelProperty(value = "是否按空", example = "0")
	private Integer isBlanks;

	/**
	 * 是否自定义(0否；1是)
	 */
	@ApiModelProperty(value = "是否自定义(0否；1是)", example = "0")
	private Integer isCustom;

	/**
	 * 题型code
	 */
	@ApiModelProperty(value = "题型code)")
	private String questionTypeCode;
	/**
	 * 题型num
	 */
	@ApiModelProperty(value = "题型num)")
	private String questionTypeNum;
	/**
	 * customname
	 */
	@ApiModelProperty(value = "customname)")
	private String customname;


	//endregion

	/* *****************************以下是非模板生成的内容************************************ */
	/**
	 * 必抽题实体
	 */
	@ApiModelProperty(value = "templateDetailsExtractModel)")
	private List<TemplateDetailsExtractModel> templateDetailsExtractModel = new ArrayList<>();
	/**
	 * 自定义题实体
	 */
	@ApiModelProperty(value = "templateDetailsCustomModel)")
	private List<TemplateDetailsCustomModel> templateDetailsCustomModel;

	/**
	 * 题型编号
	 */
	@ApiModelProperty(value = "题型编号", required = true, example = "0")
	private Integer questionCode;

	/**
	 * 题型顺序
	 */
	@ApiModelProperty(value = "题型顺序", example = "0")
	@Column(name = "question_type_order")
	private Integer questionTypeOrder;

	/**
	 * 是否高级-任蒙蒙加
	 */
	@ApiModelProperty(value = "是否高级", example = "0")
	private Integer isSenior;

    /**
     * 模板明细高级id
     */
    @ApiModelProperty(value = "模板明细高级id",required = true)
    private String templateDetailsCustomId;

	/**
	 * 操作人-教师code
	 */
	@ApiModelProperty(value = "操作人")
	private String operator;
}
